// pages/login/login_test.js
//var app = getApp();
const regeneratpruntime = require("../../utils/runtime.js");

//获取云数据库引用 根据这引用获得数据库里面集合的引用
const db = wx.cloud.database().collection('user');

//获得一个集合的引用
//const admin = db.collection('user');

//let user_name = "";//变量，用于存放用户输入的账号
//let password = "";//变量，用于存放用户输入的密码

Page({

  /**
   * 页面的初始数据
   */
  data: {
    user_name:"",
    user_password:"",
    //array:[],
  },

  //账号输入框触发函数
  inputName:function(event)
  {
    this.user_name = event.detail.value;
    this.setData({user_name:event.detail.value});
    console.log(this.user_name);
    //console.log("用户名:") + user_name;
  },

  //密码输入框触发函数
  inputPassword:function(event)
  {
    this.user_password = event.detail.value;
    this.setData({user_password:event.detail.value});
    console.log(this.user_password);
  },

  async wechatauthorization(name, pwd)
  {
    var that = this;

    //加入加载动画
    wx.showLoading({
      title: '加载中',
    });

    //定义每次获取的条数
    const MAX_LIMIT = 20;

    //先取出集合的总数
    const countResult = await db.count();
    const total = countResult.total;

    console.log("数据库个数：", total);

    //计算需分几次取
    const batchtimes = Math.ceil(total / MAX_LIMIT);//往上取整

    //存放在数据库读取的账号
    var myname = new Array();

    //存放在数据库中读取的密码
    var mypassword = new Array();

    for(let i = 0, k = 0; i < batchtimes; i++)
    {
      var promise = await db.skip(i * MAX_LIMIT).limit(MAX_LIMIT).get();

      for(let j = 0; j < promise.data.length; j++, k++)
      {
        myname[k] = promise.data[j].name;
        mypassword[k] = promise.data[j].password;
      }
    }

    wx.hideLoading({
    });

    for(let i = 0; i < myname.length; i++)
    {
      //console.log(i, name, myname[i], mypassword[i]);
      if(name == myname[i])
      {
        //如果该名字所对应的密码
        if(pwd == mypassword[i])
        {
          wx.showToast({
            title: '登录成功',
            icon:'success'
          });

          //同步存储当前登录的用户的用户名
          try{
            wx.setStorageSync('name', name);
          }catch(e){}
          finally{
            //console.log("finally");
          }

          that.setData({user_name:""});
          that.setData({user_password:""});
          
          //2s延时，进入主界面
          setTimeout(function(){
              wx.switchTab({
              url: '/pages/iot/iottest',
            })
          }, 2000);
          break;
        }
        else//如果密码错误
        {
          that.setData({user_password:""});//清空密码
          wx.showToast({
            title: '密码错误',
            icon:'error'
          });
          break;
        }
      }
      else//如果无该用户
      {
        if(i >= myname.length - 1)
        {
          wx.showToast({
            title: '无此用户名',
            icon:'none'
          });
          break;
        }
      }
    }
  },

  //登录按钮触发函数
  login:function(event)
  {
    let name = this.user_name;
    let pwd = this.user_password;

    if(name == "" || name == null)
    {
      wx.showToast({
        title: '请输入账号',
        icon:'error'
      })
    }
    else
    {
      if(pwd == "" || pwd == null)
      {
        wx.showToast({
          title: '请输入密码',
          icon:'error'
        });
      }
      else
      {
        this.wechatauthorization(name, pwd);
      }
    }


    // let that = this;
   
    // //console.log(event);
    // //console.log(name);
    // //console.log(pwd);


   
    //   else
    //   {
    //     db.get({
    //       success(res)
    //       {
    //         //console.log("查询成功",res.data);
    //         console.log(res.data.length);
    //         for(let i = 0; i < res.data.length; i++)
    //         {
    //           //如果数据库中查找到相同名字
    //           if(name == res.data[i].name.toString())
    //           {
    //             console.log("查询成功!", res.data[i].name);
    //             //如果该名字所对应的密码
    //             if(pwd == res.data[i].password.toString())
    //             {
    //               wx.showToast({
    //                 title: '登录成功',
    //                 icon:'success'
    //               });

    //               // wx.setStorage({
    //               //   key:"name",
    //               //   data:name,
    //               //   success:function(){
    //               //     console.log("success");
    //               //   },
    //               //   fail:function()
    //               //   {
    //               //     console.log("fail");
    //               //   }
    //               // });

    //               //同步存储当前登录的用户的用户名
    //               try{
    //                 wx.setStorageSync('name', name);
    //               }catch(e){}
    //               finally{
    //                 //console.log("finally");
    //               }
             

    //               that.setData({user_name:""});
    //               that.setData({user_password:""});
                  
    //               setTimeout(function(){
    //                   wx.switchTab({
    //                   url: '/pages/iot/iottest',
    //                 })
    //               }, 2000);
  
    //             }
    //             else//密码错误
    //             {
    //               //that.setData({user_name:""});
    //               that.setData({user_password:""});

    //               wx.showToast({
    //                 title: '密码错误',
    //                 icon:'error'
    //               })
    //             }
    //             break;
    //           }
    //           else//用户名不存在
    //           {
    //             if(i >= res.data.length - 1)
    //             {
    //               that.setData({user_name:""});
    //               that.setData({user_password:""});

    //               wx.showToast({
    //                 title: '无此用户名',
    //                 icon:'error'
    //               });
    //             }
    //           }
    //         } 
    //       },
    //       fail(res)
    //       {
    //         wx.showToast({
    //           title: '数据库查找失败',
    //           icon:'error'
    //         });
    //       }
    //     })
    //   }
    // }
  },

  //注册按钮触发函数
  regist:function()
  {
    wx.navigateTo({
      url: '/pages/register/register_test',
      success:function(res)
      {
        console.log("跳转到注册页面成功!", res)
      },
      fail:function(){wx.showToast({
        title: '跳转到注册页面失败',
        icon: 'error'
      })},
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(getApp().globalData.string_test);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //console.log(app);

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

 

  // regist:function(event)
  // {
  //   console.log(event);
  // },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})